package com.cax.module.file.domain.vo;


import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 文件表 VO
 * @author liangjian
 * @date 2023-11-24 16:52:24
 */
@Data
@ApiModel(value = "FileVO", description = "文件表VO")
public class FileVO implements Serializable {
	private static final long serialVersionUID = 574991409464439461L;

	@ApiModelProperty(value = "文件表-主键id")
	private Long id;

	@ApiModelProperty(value = "文件录入类型 1系统上传 2手动维护文件表数据")
	private Integer enterType;

	@ApiModelProperty(value = "文件业务类型 来源file_type.id")
	private Integer fileTypeId;

	@ApiModelProperty(value = "例如工单id 用户id等 id类型为int")
	private Integer relevanceIntId;

	@ApiModelProperty(value = "例如工单id 用户id等 id类型为Long")
	private Integer relevanceLongId;

	@ApiModelProperty(value = "例如工单id 用户id等 id类型为String")
	private Integer relevanceStrId;

	/**
	 * 基于文件服务根目录（如果使用的是spring静态资源库，那么在sprign的配置文件中就有配置，在yml文件中搜索static-locations:可查看）的相对目录地址
	 * 例如访问地址为http://localhost:8080/xw/user/head/liangjian.png 那么这里存的就是/user/head
	 * 文件的网络访问地址等于 域名+项目前缀+url这个字段的相对目录地址+文件名称+文件后缀
	 */
	@ApiModelProperty(value = "相对路径")
	private String relativeUrl;

	@ApiModelProperty(value = "文件名称 手动维护的一般是自定义的名称 通过系统上传的是uuid")
	private String name;

	@ApiModelProperty(value = "文件后缀")
	private String suffix;

	@ApiModelProperty(value = "备注")
	private String remarks;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime createTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime updateTime;

	private Integer deleteFlag;

}

